home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.0 / PInterfaces / Controls.p < prev    next >
Encoding:
Text File  |  1995-04-18  |  16.7 KB  |  595 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Controls.p
  3.  
  4.      Contains:    Control Manager interfaces
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Controls;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __CONTROLS__}
  30. {$SETC __CONTROLS__ := 1}
  31.  
  32. {$I+}
  33. {$SETC ControlsIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __TYPES__}
  38. {$I Types.p}
  39. {$ENDC}
  40. {    ConditionalMacros.p                                            }
  41.  
  42. {$IFC UNDEFINED __QUICKDRAW__}
  43. {$I Quickdraw.p}
  44. {$ENDC}
  45. {    MixedMode.p                                                    }
  46. {    QuickdrawText.p                                                }
  47.  
  48. {$IFC UNDEFINED __MENUS__}
  49. {$I Menus.p}
  50. {$ENDC}
  51. {    Memory.p                                                    }
  52.  
  53. {$PUSH}
  54. {$ALIGN MAC68K}
  55. {$LibExport+}
  56. {$IFC UNDEFINED STRICT_CONTROLS }
  57. {$SETC STRICT_CONTROLS := 0}
  58. {$ENDC}
  59.  
  60. CONST
  61.     pushButProc                    = 0;
  62.     checkBoxProc                = 1;
  63.     radioButProc                = 2;
  64.     scrollBarProc                = 16;
  65.     popupMenuProc                = 1008;
  66.  
  67.     kControlUsesOwningWindowsFontVariant = 1 * (2**(3));        { Control uses owning windows font to display text}
  68.  
  69. {$IFC OLDROUTINENAMES }
  70.     useWFont                    = 8;
  71.  
  72. {$ENDC}
  73.     
  74. TYPE
  75.     ControlPartCode = SInt16;
  76.  
  77.  
  78. CONST
  79.     kControlNoPart                = 0;
  80.     kControlLabelPart            = 1;
  81.     kControlMenuPart            = 2;
  82.     kControlTrianglePart        = 4;
  83.     kControlButtonPart            = 10;
  84.     kControlCheckBoxPart        = 11;
  85.     kControlRadioButtonPart        = 11;
  86.     kControlUpButtonPart        = 20;
  87.     kControlDownButtonPart        = 21;
  88.     kControlPageUpPart            = 22;
  89.     kControlPageDownPart        = 23;
  90.     kControlIndicatorPart        = 129;
  91.     kControlDisabledPart        = 254;
  92.     kControlInactivePart        = 255;
  93.  
  94. {$IFC OLDROUTINENAMES }
  95.     inLabel                        = 1;
  96.     inMenu                        = 2;
  97.     inTriangle                    = 4;
  98.     inButton                    = 10;
  99.     inCheckBox                    = 11;
  100.     inUpButton                    = 20;
  101.     inDownButton                = 21;
  102.     inPageUp                    = 22;
  103.     inPageDown                    = 23;
  104.     inThumb                        = 129;
  105.  
  106. {$ENDC}
  107.     kControlCheckboxUncheckedValue = 0;
  108.     kControlCheckboxCheckedValue = 1;
  109.     kControlCheckboxMixedValue    = 2;
  110.  
  111. {_________________________________________________________________________________________________________}
  112. {}
  113. { • RADIO BUTTON VALUES}
  114. {}
  115. {_________________________________________________________________________________________________________}
  116.     kControlRadioButtonUncheckedValue = 0;
  117.     kControlRadioButtonCheckedValue = 1;
  118.     kControlRadioButtonMixedValue = 2;
  119.  
  120.     popupFixedWidth                = 1 * (2**(0));
  121.     popupVariableWidth            = 1 * (2**(1));
  122.     popupUseAddResMenu            = 1 * (2**(2));
  123.     popupUseWFont                = 1 * (2**(3));
  124.  
  125. {}
  126. { Menu label styles for the System 7 pop-up menu }
  127. {}
  128.     popupTitleBold                = 1 * (2**(8));
  129.     popupTitleItalic            = 1 * (2**(9));
  130.     popupTitleUnderline            = 1 * (2**(10));
  131.     popupTitleOutline            = 1 * (2**(11));
  132.     popupTitleShadow            = 1 * (2**(12));
  133.     popupTitleCondense            = 1 * (2**(13));
  134.     popupTitleExtend            = 1 * (2**(14));
  135.     popupTitleNoStyle            = 1 * (2**(15));
  136.  
  137. {}
  138. { Menu label justifications for the System 7 pop-up menu}
  139. {}
  140.     popupTitleLeftJust            = $00000000;
  141.     popupTitleCenterJust        = $00000001;
  142.     popupTitleRightJust            = $000000FF;
  143.  
  144. {_________________________________________________________________________________________________________}
  145. {}
  146. { • CONTROL DRAGGRAYRGN CONSTANTS}
  147. {}
  148.     noConstraint                = kNoConstraint;
  149.     hAxisOnly                    = 1;
  150.     vAxisOnly                    = 2;
  151.  
  152. {_________________________________________________________________________________________________________}
  153. {}
  154. { • CONTROL COLOR TABLE PART CODES}
  155. {}
  156.     cFrameColor                    = 0;
  157.     cBodyColor                    = 1;
  158.     cTextColor                    = 2;
  159.     cThumbColor                    = 3;
  160.  
  161. {_________________________________________________________________________________________________________}
  162. {}
  163. { • CONTROL TYPE DECLARATIONS}
  164. {}
  165. {_________________________________________________________________________________________________________}
  166. {}
  167. { Define ControlRef and ControlHandle}
  168. {}
  169. {$IFC STRICT_CONTROLS }
  170.     
  171. TYPE
  172.     ControlRef = Ptr;
  173.  
  174.     ControlHandle = ControlRef;
  175.  
  176. {$ELSEC}
  177.     
  178. TYPE
  179.     ControlPtr = ^ControlRecord;
  180.     ControlHandle = ^ControlPtr;
  181.  
  182.     ControlRef = ControlHandle;
  183.  
  184. {$ENDC}
  185.     ControlActionProcPtr = ProcPtr;  { PROCEDURE ControlAction(theControl: ControlRef; partCode: ControlPartCode); }
  186.     ControlActionUPP = UniversalProcPtr;
  187.  
  188.     CtlCTab = RECORD
  189.         ccSeed:                    SInt32;
  190.         ccRider:                SInt16;
  191.         ctSize:                    SInt16;
  192.         ctTable:                ARRAY [0..3] OF ColorSpec;
  193.     END;
  194.  
  195.     CCTabPtr = ^CtlCTab;
  196.     CCTabHandle = ^CCTabPtr;
  197.  
  198. {$IFC NOT STRICT_CONTROLS }
  199.     ControlRecord = PACKED RECORD
  200.         nextControl:            ControlRef;
  201.         contrlOwner:            WindowRef;
  202.         contrlRect:                Rect;
  203.         contrlVis:                UInt8;
  204.         contrlHilite:            UInt8;
  205.         contrlValue:            SInt16;
  206.         contrlMin:                SInt16;
  207.         contrlMax:                SInt16;
  208.         contrlDefProc:            Handle;
  209.         contrlData:                Handle;
  210.         contrlAction:            ControlActionUPP;
  211.         contrlRfCon:            SInt32;
  212.         contrlTitle:            Str255;
  213.     END;
  214.  
  215. {_________________________________________________________________________________________________________}
  216. {}
  217. { • AUXILLARY CONTROL RECORD STRUCTURE}
  218. {}
  219. {_________________________________________________________________________________________________________}
  220.     AuxCtlRec = RECORD
  221.         acNext:                    Handle;
  222.         acOwner:                ControlRef;
  223.         acCTable:                CCTabHandle;
  224.         acFlags:                SInt16;
  225.         acReserved:                SInt32;
  226.         acRefCon:                SInt32;
  227.     END;
  228.  
  229.     AuxCtlPtr = ^AuxCtlRec;
  230.     AuxCtlHandle = ^AuxCtlPtr;
  231.  
  232. {_________________________________________________________________________________________________________}
  233. {}
  234. { • POP-UP MENU PRIVATE DATA STRUCTURE}
  235. {}
  236. {_________________________________________________________________________________________________________}
  237.     PopupPrivateData = RECORD
  238.         mHandle:                MenuHandle;
  239.         mID:                    SInt16;
  240.     END;
  241.  
  242.     PopupPrivateDataPtr = ^PopupPrivateData;
  243.     PopupPrivateDataHandle = ^PopupPrivateDataPtr;
  244.  
  245. {$ENDC}
  246.  
  247. CONST
  248.     uppControlActionProcInfo = $000002C0; { PROCEDURE (4 byte param, 2 byte param); }
  249.  
  250. FUNCTION NewControlActionProc(userRoutine: ControlActionProcPtr): ControlActionUPP;
  251.     {$IFC NOT GENERATINGCFM }
  252.     INLINE $2E9F;
  253.     {$ENDC}
  254.  
  255. PROCEDURE CallControlActionProc(theControl: ControlRef; partCode: ControlPartCode; userRoutine: ControlActionUPP);
  256.     {$IFC NOT GENERATINGCFM}
  257.     INLINE $205F, $4E90;
  258.     {$ENDC}
  259.  
  260. FUNCTION NewControl(theWindow: WindowRef; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; value: SInt16; min: SInt16; max: SInt16; procID: SInt16; refCon: SInt32): ControlRef;
  261.     {$IFC NOT GENERATINGCFM}
  262.     INLINE $A954;
  263.     {$ENDC}
  264. FUNCTION GetNewControl(controlID: SInt16; owner: WindowRef): ControlRef;
  265.     {$IFC NOT GENERATINGCFM}
  266.     INLINE $A9BE;
  267.     {$ENDC}
  268. PROCEDURE DisposeControl(theControl: ControlRef);
  269.     {$IFC NOT GENERATINGCFM}
  270.     INLINE $A955;
  271.     {$ENDC}
  272. PROCEDURE KillControls(theWindow: WindowRef);
  273.     {$IFC NOT GENERATINGCFM}
  274.     INLINE $A956;
  275.     {$ENDC}
  276. {_________________________________________________________________________________________________________}
  277. {    }
  278. { • CONTROL SHOWING/HIDING API'S}
  279. {}
  280. {_________________________________________________________________________________________________________}
  281. PROCEDURE ShowControl(theControl: ControlRef);
  282.     {$IFC NOT GENERATINGCFM}
  283.     INLINE $A957;
  284.     {$ENDC}
  285. PROCEDURE HideControl(theControl: ControlRef);
  286.     {$IFC NOT GENERATINGCFM}
  287.     INLINE $A958;
  288.     {$ENDC}
  289. {_________________________________________________________________________________________________________}
  290. {    }
  291. { • CONTROL DRAWING API'S}
  292. {}
  293. {_________________________________________________________________________________________________________}
  294. PROCEDURE DrawControls(theWindow: WindowRef);
  295.     {$IFC NOT GENERATINGCFM}
  296.     INLINE $A969;
  297.     {$ENDC}
  298. PROCEDURE Draw1Control(theControl: ControlRef);
  299.     {$IFC NOT GENERATINGCFM}
  300.     INLINE $A96D;
  301.     {$ENDC}
  302. PROCEDURE UpdateControls(theWindow: WindowRef; updateRgn: RgnHandle);
  303.     {$IFC NOT GENERATINGCFM}
  304.     INLINE $A953;
  305.     {$ENDC}
  306. PROCEDURE HiliteControl(theControl: ControlRef; hiliteState: ControlPartCode);
  307.     {$IFC NOT GENERATINGCFM}
  308.     INLINE $A95D;
  309.     {$ENDC}
  310. FUNCTION TrackControl(theControl: ControlRef; thePoint: Point; actionProc: ControlActionUPP): ControlPartCode;
  311.     {$IFC NOT GENERATINGCFM}
  312.     INLINE $A968;
  313.     {$ENDC}
  314. PROCEDURE DragControl(theControl: ControlRef; startPt: Point; {CONST}VAR limitRect: Rect; {CONST}VAR slopRect: Rect; axis: DragConstraint);
  315.     {$IFC NOT GENERATINGCFM}
  316.     INLINE $A967;
  317.     {$ENDC}
  318. FUNCTION TestControl(theControl: ControlRef; thePt: Point): ControlPartCode;
  319.     {$IFC NOT GENERATINGCFM}
  320.     INLINE $A966;
  321.     {$ENDC}
  322. FUNCTION FindControl(thePoint: Point; theWindow: WindowRef; VAR theControl: ControlRef): ControlPartCode;
  323.     {$IFC NOT GENERATINGCFM}
  324.     INLINE $A96C;
  325.     {$ENDC}
  326. {_________________________________________________________________________________________________________}
  327. {    }
  328. { • CONTROL MOVING/SIZING API'S}
  329. {}
  330. {_________________________________________________________________________________________________________}
  331. PROCEDURE MoveControl(theControl: ControlRef; h: SInt16; v: SInt16);
  332.     {$IFC NOT GENERATINGCFM}
  333.     INLINE $A959;
  334.     {$ENDC}
  335. PROCEDURE SizeControl(theControl: ControlRef; w: SInt16; h: SInt16);
  336.     {$IFC NOT GENERATINGCFM}
  337.     INLINE $A95C;
  338.     {$ENDC}
  339. {_________________________________________________________________________________________________________}
  340. {    }
  341. { • CONTROL TITLE API'S}
  342. {}
  343. {_________________________________________________________________________________________________________}
  344. PROCEDURE SetControlTitle(theControl: ControlRef; title: ConstStr255Param);
  345.     {$IFC NOT GENERATINGCFM}
  346.     INLINE $A95F;
  347.     {$ENDC}
  348. PROCEDURE GetControlTitle(theControl: ControlRef; VAR title: Str255);
  349.     {$IFC NOT GENERATINGCFM}
  350.     INLINE $A95E;
  351.     {$ENDC}
  352. {_________________________________________________________________________________________________________}
  353. {    }
  354. { • CONTROL VALUE, MIMIMUM, AND MAXIMUM API'S}
  355. {}
  356. {_________________________________________________________________________________________________________}
  357. FUNCTION GetControlValue(theControl: ControlRef): SInt16;
  358.     {$IFC NOT GENERATINGCFM}
  359.     INLINE $A960;
  360.     {$ENDC}
  361. PROCEDURE SetControlValue(theControl: ControlRef; newValue: SInt16);
  362.     {$IFC NOT GENERATINGCFM}
  363.     INLINE $A963;
  364.     {$ENDC}
  365. FUNCTION GetControlMinimum(theControl: ControlRef): SInt16;
  366.     {$IFC NOT GENERATINGCFM}
  367.     INLINE $A961;
  368.     {$ENDC}
  369. PROCEDURE SetControlMinimum(theControl: ControlRef; newMinimum: SInt16);
  370.     {$IFC NOT GENERATINGCFM}
  371.     INLINE $A964;
  372.     {$ENDC}
  373. FUNCTION GetControlMaximum(theControl: ControlRef): SInt16;
  374.     {$IFC NOT GENERATINGCFM}
  375.     INLINE $A962;
  376.     {$ENDC}
  377. PROCEDURE SetControlMaximum(theControl: ControlRef; newMaximum: SInt16);
  378.     {$IFC NOT GENERATINGCFM}
  379.     INLINE $A965;
  380.     {$ENDC}
  381. {_________________________________________________________________________________________________________}
  382. {    }
  383. { • CONTROL VARIANT AND WINDOW INFORMATION API'S}
  384. {}
  385. {_________________________________________________________________________________________________________}
  386. FUNCTION GetControlVariant(theControl: ControlRef): SInt16;
  387.     {$IFC NOT GENERATINGCFM}
  388.     INLINE $A809;
  389.     {$ENDC}
  390. PROCEDURE SetControlAction(theControl: ControlRef; actionProc: ControlActionUPP);
  391.     {$IFC NOT GENERATINGCFM}
  392.     INLINE $A96B;
  393.     {$ENDC}
  394. FUNCTION GetControlAction(theControl: ControlRef): ControlActionUPP;
  395.     {$IFC NOT GENERATINGCFM}
  396.     INLINE $A96A;
  397.     {$ENDC}
  398. {_________________________________________________________________________________________________________}
  399. {    }
  400. { • CONTROL ACCESSOR API'S}
  401. {}
  402. {_________________________________________________________________________________________________________}
  403. PROCEDURE SetControlReference(theControl: ControlRef; data: SInt32);
  404.     {$IFC NOT GENERATINGCFM}
  405.     INLINE $A95B;
  406.     {$ENDC}
  407. FUNCTION GetControlReference(theControl: ControlRef): SInt32;
  408.     {$IFC NOT GENERATINGCFM}
  409.     INLINE $A95A;
  410.     {$ENDC}
  411. {$IFC NOT STRICT_CONTROLS }
  412. FUNCTION GetAuxiliaryControlRecord(theControl: ControlRef; VAR acHndl: AuxCtlHandle): BOOLEAN;
  413.     {$IFC NOT GENERATINGCFM}
  414.     INLINE $AA44;
  415.     {$ENDC}
  416. {$ENDC}
  417. PROCEDURE SetControlColor(theControl: ControlRef; newColorTable: CCTabHandle);
  418.     {$IFC NOT GENERATINGCFM}
  419.     INLINE $AA43;
  420.     {$ENDC}
  421.     
  422. TYPE
  423.     ControlDefProcMessage = SInt16;
  424.  
  425.  
  426. CONST
  427.     drawCntl                    = 0;
  428.     testCntl                    = 1;
  429.     calcCRgns                    = 2;
  430.     initCntl                    = 3;
  431.     dispCntl                    = 4;
  432.     posCntl                        = 5;
  433.     thumbCntl                    = 6;
  434.     dragCntl                    = 7;
  435.     autoTrack                    = 8;
  436.     calcCntlRgn                    = 10;
  437.     calcThumbRgn                = 11;
  438.     drawThumbOutline            = 12;
  439.  
  440. {_________________________________________________________________________________________________________}
  441. {    }
  442. { • MAIN ENTRY POINT FOR 'CDEF'}
  443. {}
  444. TYPE
  445.     ControlDefProcPtr = ProcPtr;  { FUNCTION ControlDef(varCode: SInt16; theControl: ControlRef; message: ControlDefProcMessage; param: SInt32): SInt32; }
  446.     ControlDefUPP = UniversalProcPtr;
  447.  
  448. CONST
  449.     uppControlDefProcInfo = $00003BB0; { FUNCTION (2 byte param, 4 byte param, 2 byte param, 4 byte param): 4 byte result; }
  450.  
  451. FUNCTION NewControlDefProc(userRoutine: ControlDefProcPtr): ControlDefUPP;
  452.     {$IFC NOT GENERATINGCFM }
  453.     INLINE $2E9F;
  454.     {$ENDC}
  455.  
  456. FUNCTION CallControlDefProc(varCode: SInt16; theControl: ControlRef; message: ControlDefProcMessage; param: SInt32; userRoutine: ControlDefUPP): SInt32;
  457.     {$IFC NOT GENERATINGCFM}
  458.     INLINE $205F, $4E90;
  459.     {$ENDC}
  460. {_________________________________________________________________________________________________________}
  461. {    }
  462. { • CONSTANTS FOR DRAWCNTL MESSAGE PASSED IN PARAM}
  463. {}
  464. {_________________________________________________________________________________________________________}
  465.  
  466. CONST
  467.     kDrawControlEntireControl    = 0;
  468.     kDrawControlIndicatorOnly    = 129;
  469.  
  470. {_________________________________________________________________________________________________________}
  471. {    }
  472. { • CONSTANTS FOR DRAGCNTL MESSAGE PASSED IN PARAM}
  473. {}
  474. {_________________________________________________________________________________________________________}
  475.     kDragControlEntireControl    = 0;
  476.  
  477. {_________________________________________________________________________________________________________}
  478. {    }
  479. { • DRAG CONSTRAINT STRUCTURE PASSED IN PARAM FOR THUMBCNTL MESSAGE (IM I-332)}
  480. {}
  481. {_________________________________________________________________________________________________________}
  482.  
  483. TYPE
  484.     IndicatorDragConstraint = RECORD
  485.         limitRect:                Rect;
  486.         slopRect:                Rect;
  487.         axis:                    DragConstraint;
  488.     END;
  489.  
  490.     IndicatorDragConstraintPtr = ^IndicatorDragConstraint;
  491.     IndicatorDragConstraintHandle = ^IndicatorDragConstraintPtr;
  492.  
  493. {_________________________________________________________________________________________________________}
  494. {}
  495. { • OLD ROUTINE NAMES}
  496. {}
  497. {   These are provided for compatiblity with older source bases.  It is recommended to not use them since}
  498. {     they may removed from this interface file at any time.}
  499. {}
  500. {_________________________________________________________________________________________________________}
  501. {$IFC OLDROUTINENAMES }
  502.  
  503. CONST
  504.     kNoHiliteControlPart        = 0;
  505.     kInLabelControlPart            = 1;
  506.     kInMenuControlPart            = 2;
  507.     kInTriangleControlPart        = 4;
  508.     kInButtonControlPart        = 10;
  509.     kInCheckBoxControlPart        = 11;
  510.     kInUpButtonControlPart        = 20;
  511.     kInDownButtonControlPart    = 21;
  512.     kInPageUpControlPart        = 22;
  513.     kInPageDownControlPart        = 23;
  514.     kInIndicatorControlPart        = 129;
  515.     kReservedControlPart        = 254;
  516.     kControlInactiveControlPart    = 255;
  517.  
  518. {$ENDC}
  519. {$IFC OLDROUTINENAMES }
  520.  
  521. PROCEDURE SetCTitle(theControl: ControlRef; title: ConstStr255Param);
  522.     {$IFC NOT GENERATINGCFM}
  523.     INLINE $A95F;
  524.     {$ENDC}
  525. PROCEDURE GetCTitle(theControl: ControlRef; VAR title: Str255);
  526.     {$IFC NOT GENERATINGCFM}
  527.     INLINE $A95E;
  528.     {$ENDC}
  529. PROCEDURE UpdtControl(theWindow: WindowRef; updateRgn: RgnHandle);
  530.     {$IFC NOT GENERATINGCFM}
  531.     INLINE $A953;
  532.     {$ENDC}
  533. {$IFC NOT STRICT_CONTROLS }
  534. PROCEDURE SetCtlValue(theControl: ControlRef; theValue: INTEGER);
  535.     {$IFC NOT GENERATINGCFM}
  536.     INLINE $A963;
  537.     {$ENDC}
  538. FUNCTION GetCtlValue(theControl: ControlRef): INTEGER;
  539.     {$IFC NOT GENERATINGCFM}
  540.     INLINE $A960;
  541.     {$ENDC}
  542. PROCEDURE SetCtlMin(theControl: ControlRef; minValue: INTEGER);
  543.     {$IFC NOT GENERATINGCFM}
  544.     INLINE $A964;
  545.     {$ENDC}
  546. FUNCTION GetCtlMin(theControl: ControlRef): INTEGER;
  547.     {$IFC NOT GENERATINGCFM}
  548.     INLINE $A961;
  549.     {$ENDC}
  550. PROCEDURE SetCtlMax(theControl: ControlRef; maxValue: INTEGER);
  551.     {$IFC NOT GENERATINGCFM}
  552.     INLINE $A965;
  553.     {$ENDC}
  554. FUNCTION GetCtlMax(theControl: ControlRef): INTEGER;
  555.     {$IFC NOT GENERATINGCFM}
  556.     INLINE $A962;
  557.     {$ENDC}
  558. {$ENDC}
  559. PROCEDURE SetCRefCon(theControl: ControlRef; data: LONGINT);
  560.     {$IFC NOT GENERATINGCFM}
  561.     INLINE $A95B;
  562.     {$ENDC}
  563. FUNCTION GetCRefCon(theControl: ControlRef): LONGINT;
  564.     {$IFC NOT GENERATINGCFM}
  565.     INLINE $A95A;
  566.     {$ENDC}
  567. PROCEDURE SetCtlAction(theControl: ControlRef; actionProc: ControlActionUPP);
  568.     {$IFC NOT GENERATINGCFM}
  569.     INLINE $A96B;
  570.     {$ENDC}
  571. FUNCTION GetCtlAction(theControl: ControlRef): ControlActionUPP;
  572.     {$IFC NOT GENERATINGCFM}
  573.     INLINE $A96A;
  574.     {$ENDC}
  575. PROCEDURE SetCtlColor(theControl: ControlRef; newColorTable: CCTabHandle);
  576.     {$IFC NOT GENERATINGCFM}
  577.     INLINE $AA43;
  578.     {$ENDC}
  579. FUNCTION GetCVariant(theControl: ControlRef): INTEGER;
  580.     {$IFC NOT GENERATINGCFM}
  581.     INLINE $A809;
  582.     {$ENDC}
  583. {$ENDC}
  584.  
  585. {$ALIGN RESET}
  586. {$POP}
  587.  
  588. {$SETC UsingIncludes := ControlsIncludes}
  589.  
  590. {$ENDC} {__CONTROLS__}
  591.  
  592. {$IFC NOT UsingIncludes}
  593.  END.
  594. {$ENDC}
  595.